package com.zhangtai.modules.dto;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@Data
public class LeaveInfoDto {

    /**
     * 编号
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long oid;

    /**
     * 姓名
     */
    @ApiModelProperty(value="姓名",required = false)
    private String name;

    /**
     * 工号
     */
    @ApiModelProperty(value="工号",required = false)
    private String code;

    /**
     * * 拟录用公司
     */
    @ApiModelProperty(value="orgname",required = false)
    private String orgname;

    /**
     * 婚假,1;产假,2;病假,3;丧假,4;事假,5;补休,6;年假,7;陪产假,8;哺乳假,9
     */
    @ApiModelProperty(value="婚假,1;产假,2;病假,3;丧假,4;事假,5;补休,6;年假,7;陪产假,8;哺乳假,9",required = false)
    private Integer type;
    /**
     * 请假开始日期
     */
    @ApiModelProperty(value="请假开始日期",required = false)
    private Date leaveBeginTime;
    /**
     * 请假结束日期
     */
    @ApiModelProperty(value="请假结束日期",required = false)
    private Date leaveEndTime;
    /**
     * 0：未发起 1：已发起待审批，2：审批完成，3：作废
     */
    @ApiModelProperty(value=" 0：未发起 1：已发起待审批，2：审批完成，3：作废",required = false)
    private Integer dealStatus;
    /**
     * 请假天数
     */
    @ApiModelProperty(value="请假天数",required = false)
    private String leaveDay;
    /**
     * 申请说明
     */
    @ApiModelProperty(value="申请说明",required = false)
    private String leaveRemark;
    /**
     * bpm链接
     */
    @ApiModelProperty(value="bpm链接",required = false)
    private String checkUrl;
    @ApiModelProperty(value="部门名称",required = false)
    private String unitname;
    @ApiModelProperty(value="岗位名称",required = false)
    private String jobname;
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long unitId;
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long jobId;

    private String fileUrl;
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long id;
    @ApiModelProperty(value="H5链接",required = false)
    private String mobileUrl;


    //0 PC端，1 移动端，2 小程序，3 其他系统，4 未知"
    @ApiModelProperty("0 PC端，1 移动端，2 小程序，3 其他系统，4 未知")
    private Integer createType;
}
